package com.ruoyi.flowable.service;

import com.ruoyi.flowable.domain.ActRejectRecord;

import java.util.List;
import java.util.Map;

public interface IActRejectRecordService {

    /**
     * 添加驳回记录
     */
    void addRejectRecord(String procInstId, String taskId, String rejectReason);

    /**
     * 根据流程实例ID查询驳回记录
     */
    ActRejectRecord getRejectRecordByProcInstId(String procInstId);

    /**
     * 根据流程实例ID列表批量查询驳回记录
     */
    List<ActRejectRecord> selectByProcInstIds(List<String> procInstIds);

    /**
     * 根据流程实例ID列表批量查询驳回记录Map
     */
    Map<String, ActRejectRecord> getRejectRecordMapByProcInstIds(List<String> procInstIds);

    /**
     * 判断流程是否被驳回
     */
    boolean isProcessRejected(String procInstId);

    /**
     * 删除驳回记录
     */
    void deleteRejectRecord(String procInstId);
}
